from django.db import models
from utils.models import BaseModel     # 导入公共模型基类
# Create your models here.


#定义轮播图模型类
class Banner(models.Model):
    """
    功能定位：用于首页的轮播广告展示
    核心字段：标题、链接、图片、显示状态、排序、删除标记(软删除)
    图片上传到指定目录
    """
    title=models.CharField(max_length=500,verbose_name='标题')
    link=models.CharField(max_length=500,verbose_name='链接')
    image_url=models.ImageField(upload_to='banner',max_length=255,verbose_name='图片')

    is_show=models.BooleanField(default=True,verbose_name='是否显示')
    orders=models.IntegerField(default=1,verbose_name='排序')
    is_delete=models.BooleanField(default=False,verbose_name='是否删除')

    class Meta:
        db_table='sk_banner'                              #指定数据库表名
        verbose_name='轮播广告'                            #指定在django管理后台显示的名称
        verbose_name_plural=verbose_name                  #指定在django管理后台显示的复数名称

    def __str__(self):                        #定义打印对象时显示的字符串
        return self.title                     #返回给前端和django管理后台显示的字段

#导航菜单模型
class Nav(BaseModel):
    '''
    功能定位：把当前网站的功能介绍，点击即可跳转
    核心字段：标题、链接、导航位置(顶部和底部)、是否站外地址
    '''
    POSITION_OPTIONS = (
         (1, "顶部导航"),
         (2, "底部导航"),
    )
    title = models.CharField(max_length=500, verbose_name="导航标题")
    link = models.CharField(max_length=500, verbose_name="导航链接")
    position = models.IntegerField(choices=POSITION_OPTIONS, default=1, verbose_name="导航位置")
    is_site = models.BooleanField(default=False, verbose_name="是否是站外地址")

    class Meta:
        db_table = 'sk_nav'
        verbose_name = '导航菜单'
        verbose_name_plural = verbose_name

    def __str__(self):
        return self.title
